package cn.jsj.hzu.qm.facecloud.utils;

/**
 * 关于分页查询的有关内容
 * <br>
 * 将 第几页，共几页这样的直观分页信息转化为 MySql中LIMIT关键字的参数
 * @author (c)2020-2022 Feng.S.X. 
 * */
public class Page {
	
	
	
	
	/**想要查询第几页*/
	private int page;
	/**每页几项*/
	private int perpage;
	/**共多少项*/
	private int sum;
	
	
	/**MySQL LIMIT 参数1 start*/
	private int start;
	
	/**MySQL LIMIT 参数2 length*/
	private int length;
	
	/**
	 * 初始化 关于分页查询的有关内容
	 * <br><br>
	 * 将 第几页，共几页这样的直观分页信息转化为 MySql中LIMIT关键字的参数
	 * @param page 想要查询第几页
	 * @param perpage 每页几项
	 * @param sum 共多少项
	 * 
	 * */
	
	
	public Page(int page, int perpage, int sum) {
		this.page = page;
		this.perpage = perpage;
		this.sum = sum;
		
		
		this.start = (page - 1) * perpage;
		this.length = perpage;
		
		if (this.start >= sum) {
			throw new NumberFormatException("start 参数的值比 sum 还要大!");
		}

		if (this.start + perpage >= sum) {
			this.length = sum-this.start;
		}
		
	}
	
	/**获取 MySQL LIMIT 参数1 start*/
	public int getStart() {
		return start;
	}
	
	/**获取 MySQL LIMIT 参数2 length*/
	public int getLength() {
		return length;
	}
	
	
	public int getPage() {
		return page;
	}
	
	public int getPerpage() {
		return perpage;
	}
	
	public int getSum() {
		return sum;
	}
}
